<html>
<head><meta charset="utf-8"><title>semver 1.0 · t-cargo · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/index.html">t-cargo</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html">semver 1.0</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="240238668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240238668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240238668">(May 25 2021 at 19:35)</a>:</h4>
<p>It looks like <span class="user-mention" data-user-id="116011">@Steve Klabnik</span> is working towards a 1.0 of semver. It would be sad if it stabilized and we cant use it. Why are we stuck on 0.10.0?</p>



<a name="240239749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240239749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240239749">(May 25 2021 at 19:43)</a>:</h4>
<p>it may be <span class="user-mention" data-user-id="119235">@David Tolnay</span> not Steve.</p>



<a name="240241410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240241410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240241410">(May 25 2021 at 19:55)</a>:</h4>
<p>0.11 introduced a lot of bugs that make it unable to handle previously published legitimate crate versions</p>



<a name="240241422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240241422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240241422">(May 25 2021 at 19:55)</a>:</h4>
<p>see <a href="https://github.com/dtolnay/semver/issues/217">https://github.com/dtolnay/semver/issues/217</a> for example</p>



<a name="240241437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240241437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240241437">(May 25 2021 at 19:55)</a>:</h4>
<p>as far as I know it was all bugs and not intentional divergence from Cargo</p>



<a name="240242710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240242710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240242710">(May 25 2021 at 20:04)</a>:</h4>
<p>So all thows bugs are fixed in 1.0?</p>



<a name="240243194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240243194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240243194">(May 25 2021 at 20:08)</a>:</h4>
<p>as far as I know</p>



<a name="240243211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240243211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240243211">(May 25 2021 at 20:08)</a>:</h4>
<p>I closed out most of the issue tracker this morning but not done yet</p>



<a name="240243894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240243894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240243894">(May 25 2021 at 20:13)</a>:</h4>
<p>There is a file <a href="https://github.com/dtolnay/semver/pull/223#issuecomment-743448216">here</a> with all the versions and requirements from <a href="http://crates.io">crates.io</a>. It would be so comforting to compare that the same ones parse and match between 0.10 and 1.0. If there is time before the 1.0 release, I may try to do that, if someone does not beat me to it. When where you planning the release?</p>



<a name="240244767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240244767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240244767">(May 25 2021 at 20:20)</a>:</h4>
<p>updated data should also be available on <a href="https://static.crates.io/db-dump.tar.gz">https://static.crates.io/db-dump.tar.gz</a></p>



<a name="240244872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240244872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240244872">(May 25 2021 at 20:22)</a>:</h4>
<p>let me forward this thread to the <a href="http://crates.io">crates.io</a> team too</p>



<a name="240253417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240253417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240253417">(May 25 2021 at 21:37)</a>:</h4>
<p><span class="user-mention" data-user-id="119235">@David Tolnay</span> hmm, a thing I see missing there is the <code>diesel</code> feature, which is used by <a href="http://crates.io">crates.io</a></p>



<a name="240253426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240253426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240253426">(May 25 2021 at 21:37)</a>:</h4>
<p>(I asked a member of the <a href="http://crates.io">crates.io</a> team to open an issue on the repo)</p>



<a name="240257473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240257473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240257473">(May 25 2021 at 22:18)</a>:</h4>
<p>I opened <a href="https://github.com/dtolnay/semver/issues/237">https://github.com/dtolnay/semver/issues/237</a> with the comparison result between 0.10 and 1.0</p>



<a name="240257867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240257867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240257867">(May 25 2021 at 22:23)</a>:</h4>
<p>regarding diesel, I would prefer  not to have that in the crate</p>



<a name="240257895"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240257895" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240257895">(May 25 2021 at 22:23)</a>:</h4>
<p>doesn't diesel have something that works like <code>#[serde(deserialize_with = "...")]</code> where you can override what impl it uses for a particular field using an attribute?</p>



<a name="240258009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240258009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240258009">(May 25 2021 at 22:24)</a>:</h4>
<p>Thank you so much. I am comfortable with that level of brakeage!</p>



<a name="240258221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240258221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240258221">(May 25 2021 at 22:27)</a>:</h4>
<p><span class="user-mention silent" data-user-id="119235">David Tolnay</span> <a href="#narrow/stream/246057-t-cargo/topic/semver.201.2E0/near/240257895">said</a>:</p>
<blockquote>
<p>doesn't diesel have something that works like <code>#[serde(deserialize_with = "...")]</code> where you can override what impl it uses for a particular field using an attribute?</p>
</blockquote>
<p>I'm not aware of that -- we'll probably have to do a newtype whenever we interact with the models then</p>



<a name="240262495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240262495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240262495">(May 25 2021 at 23:20)</a>:</h4>
<p><a href="https://docs.diesel.rs/master/diesel/deserialize/derive.Queryable.html">https://docs.diesel.rs/master/diesel/deserialize/derive.Queryable.html</a></p>
<blockquote>
<p>To provide custom deserialization behavior for a field, you can use <code>#[diesel(deserialize_as = "SomeType")]</code>. If this attribute is present, Diesel will deserialize the corresponding field into <code>SomeType</code>, rather than the actual field type on your struct and then call <code>.try_into</code> to convert it to the actual field type. This can be used to add custom behavior for a single field, or use types that are otherwise unsupported by Diesel.</p>
</blockquote>



<a name="240262499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240262499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240262499">(May 25 2021 at 23:20)</a>:</h4>
<p>that seems like the thing</p>



<a name="240262693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240262693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240262693">(May 25 2021 at 23:23)</a>:</h4>
<p>I would expect to be able to write: <code>#[diesel(deserialize_as = "DbVersion")] num: semver::Version</code></p>
<div class="codehilite"><pre><span></span><code>struct DbVersion(semver::Version);

impl From&lt;DbVersion&gt; for semver::Version {...}

/* some diesel trait impls for DbVersion (???) */
</code></pre></div>
<p>but then use semver::Version throughout everything</p>



<a name="240262844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240262844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Tolnay <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240262844">(May 25 2021 at 23:25)</a>:</h4>
<p>if <a href="http://crates.io">crates.io</a> is pretty much the only user of a diesel impl, it should be same amount of code as putting an impl into the semver crate</p>



<a name="240262978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240262978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240262978">(May 25 2021 at 23:28)</a>:</h4>
<p><span class="user-mention" data-user-id="119235">@David Tolnay</span> Thank you so much for all the work you're putting into semver!</p>



<a name="240278993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/246057-t-cargo/topic/semver%201.0/near/240278993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Justin Geibel <a href="https://rust-lang.github.io/zulip_archive/stream/246057-t-cargo/topic/semver.201.2E0.html#240278993">(May 26 2021 at 04:37)</a>:</h4>
<p><span class="user-mention" data-user-id="119235">@David Tolnay</span> This is awesome! I've opened <a href="https://github.com/dtolnay/semver/pull/239">https://github.com/dtolnay/semver/pull/239</a> with tests for a few edge cases that I ran into when looking into the regressions a few months ago. It's all fixed now! And I just saw <a href="https://github.com/rust-lang/rust/issues/237">#237</a> above with the testing of versions from <a href="http://crates.io">crates.io</a>. Awesome!</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>